<?php

namespace App\Repositories;


use App\Models\CodeValue;
use App\Utils\Output;
use App\Utils\Pager;
use Illuminate\Database\Eloquent\Builder;

/**
 * Class CodeValueRepository
 * @package App\Repositories
 */
class CodeValueRepository
{
    /**
     * 获取后台分页列表
     * @param $code
     * @param $params
     * @return Output
     */
    function adminPager($code,$params)
    {
        extract($params);
        $query = CodeValue::query()->where('code', '=', $code);
        if (!empty($keyword)) {
            $query->where(function (Builder $q) use ($keyword) {
                $q->orWhere('name', 'like', "%$keyword%");
                $q->orWhere('code', 'like', "%$keyword%");
            });
        }

        return $query->paginate();
    }

    function value($code){
        return CodeValue::query()->where('code', '=', $code)->count()+1;
    }

    /**
     * 获取编辑数据
     * @param $id
     * @return Output
     */
    function editInfo($id)
    {
        $entity = CodeValue::find($id);
        if ($entity) {
            return Output::data($entity);
        }
        return Output::fail("数据不存在");
    }

    /**
     * 保存
     * @param $data
     * @param $id
     * @return Output
     */
    function save($data, $id)
    {
        return CodeValue::store($data, $id);
    }

    /**
     * 删除
     * @param $id
     * @return Output|int
     * @throws \Exception
     */
    function destroy($id)
    {
        return CodeValue::destroy($id);
    }
}

